@@ -0,0 +1,16 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+ |
|
3 |
+from __future__ import division |
|
4 |
+ |
|
5 |
+from django_logit import logit |
|
6 |
+from django_response import response |
|
7 |
+ |
|
8 |
+from utils.tencentcloud.faceid import get_eid_token |
|
9 |
+ |
|
10 |
+ |
|
11 |
+@logit |
|
12 |
+def get_faceid_eid_token(request): |
|
13 |
+ eidtoken = get_eid_token() |
|
14 |
+ return response(data={ |
|
15 |
+ 'eidtoken': eidtoken, |
|
16 |
+ }) |
@@ -5,7 +5,8 @@ from django_file_upload import views as file_views |
||
5 | 5 |
|
6 | 6 |
from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views, |
7 | 7 |
maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views, |
8 |
- refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, wx_views, wxa_views) |
|
8 |
+ refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, tencentcloud_views, wx_views, |
|
9 |
+ wxa_views) |
|
9 | 10 |
from miniapp import qy_views |
10 | 11 |
from miniapp import views as mini_views |
11 | 12 |
from page import oauth_views, sale_views, screen_views |
@@ -356,3 +357,8 @@ urlpatterns += [ |
||
356 | 357 |
|
357 | 358 |
# 快递信息回调接口 |
358 | 359 |
] |
360 |
+ |
|
361 |
+# 腾讯云 |
|
362 |
+urlpatterns += [ |
|
363 |
+ url(r'^tencentcloud/faceid/eidtoken$', tencentcloud_views.get_faceid_eid_token, name='tencentcloud_get_faceid_eid_token'), |
|
364 |
+] |
@@ -233,6 +233,16 @@ WECHAT = { |
||
233 | 233 |
MEMBER_CARD_ID_TAMRON = '' |
234 | 234 |
MEMBER_CARD_ID_HANYUAN = '' |
235 | 235 |
|
236 |
+# 腾讯云 |
|
237 |
+TENCENTCLOUD = { |
|
238 |
+ 'default': { |
|
239 |
+ 'appid': '', |
|
240 |
+ 'secret_id': '', |
|
241 |
+ 'secret_key': '', |
|
242 |
+ 'merchant_id': '', |
|
243 |
+ }, |
|
244 |
+} |
|
245 |
+ |
|
236 | 246 |
# 七牛设置 |
237 | 247 |
QINIU = { |
238 | 248 |
'access_key': 'yCE3xWXduLTERkx_vSNVAIHNcg1pje6EwygiRPjP', |
@@ -0,0 +1,51 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+ |
|
3 |
+import json |
|
4 |
+ |
|
5 |
+from django.conf import settings |
|
6 |
+from tencentcloud.common import credential |
|
7 |
+from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException |
|
8 |
+from tencentcloud.common.profile.client_profile import ClientProfile |
|
9 |
+from tencentcloud.common.profile.http_profile import HttpProfile |
|
10 |
+from tencentcloud.faceid.v20180301 import faceid_client, models |
|
11 |
+ |
|
12 |
+ |
|
13 |
+tencentcloud_cfg = settings.TENCENTCLOUD.get('default', {}) |
|
14 |
+secret_id = tencentcloud_cfg.get('secret_id') |
|
15 |
+secret_key = tencentcloud_cfg.get('secret_key') |
|
16 |
+merchant_id = tencentcloud_cfg.get('merchant_id') |
|
17 |
+ |
|
18 |
+ |
|
19 |
+def get_eid_token(): |
|
20 |
+ try: |
|
21 |
+ # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密 |
|
22 |
+ # 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取 |
|
23 |
+ cred = credential.Credential(secret_id, secret_key) |
|
24 |
+ # 实例化一个http选项,可选的,没有特殊需求可以跳过 |
|
25 |
+ httpProfile = HttpProfile() |
|
26 |
+ httpProfile.endpoint = "faceid.tencentcloudapi.com" |
|
27 |
+ |
|
28 |
+ # 实例化一个client选项,可选的,没有特殊需求可以跳过 |
|
29 |
+ clientProfile = ClientProfile() |
|
30 |
+ clientProfile.httpProfile = httpProfile |
|
31 |
+ # 实例化要请求产品的client对象,clientProfile是可选的 |
|
32 |
+ client = faceid_client.FaceidClient(cred, "", clientProfile) |
|
33 |
+ |
|
34 |
+ # 实例化一个请求对象,每个接口都会对应一个request对象 |
|
35 |
+ req = models.GetEidTokenRequest() |
|
36 |
+ params = { |
|
37 |
+ "MerchantId": merchant_id |
|
38 |
+ } |
|
39 |
+ req.from_json_string(json.dumps(params)) |
|
40 |
+ |
|
41 |
+ # 返回的resp是一个GetEidTokenResponse的实例,与请求对象对应 |
|
42 |
+ resp = client.GetEidToken(req) |
|
43 |
+ # 输出json格式的字符串回包 |
|
44 |
+ # print(resp.to_json_string()) |
|
45 |
+ |
|
46 |
+ return resp.EidToken |
|
47 |
+ |
|
48 |
+ except TencentCloudSDKException as err: |
|
49 |
+ # print(err) |
|
50 |
+ |
|
51 |
+ return '' |